//------------------------------------------------------------------------------
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#pragma hdrstop
#include "bibliojogo.h"
#define DIM 10
//------------------------------------------------------------------------------
#pragma package(smart_init)
void fazjogo()
        {
        int jogadas, j=1, pont=0, lin, coluna,d=0;
        char col, tabuleiro[DIM][DIM], meutabuleiro[DIM][DIM], tabuleirofinal[DIM][DIM];
        clrscr();
        randomize();
        preenche(tabuleiro,DIM,DIM);
        preenche(meutabuleiro,DIM,DIM);
        colocanavios(tabuleiro,4);
        colocanavios(tabuleiro,3);
        colocanavios(tabuleiro,3);
        colocanavios(tabuleiro,2);
        colocanavios(tabuleiro,2);
        colocanavios(tabuleiro,2);
        colocanavios(tabuleiro,1);
        colocanavios(tabuleiro,1);
        colocanavios(tabuleiro,1);
        colocanavios(tabuleiro,1);
        while(jogadas<20 || jogadas>100)
                {
                jogadas=10;
                clrscr();
                caixa (79,24,'#',' ');
                gotoxy(6,7);
                printf("Introduza o numero de jogadas pretendidas (20...100)->");
                scanf("%d", &jogadas);
                if (jogadas<20 || jogadas>100)
                        {
                        gotoxy(6,9);
                        printf("\a O numero de jogadas tem que estar entre 20 e 100.");
                        getch();
                        }
                }
        while (pont<20 && j<=jogadas)
                {
                d=0;
                while (d==0)
                        {
                        clrscr();
                        printf("                            JOGADA %d",j);
                        mostra_tabuleiro(meutabuleiro,DIM,DIM);
                        lin=100;
                        gotoxy(40,7);
                        printf("Coordenadas do tiro:");
                        gotoxy(40,9);
                        printf("Linha (1...10)->");
                        scanf("%d", &lin);
                     	gotoxy(40,10);
			printf("Coluna (A...J)->");
                        scanf("%s", &col);
			coluna=(int)col-65;
                        gotoxy(40,21);
                        printf("Restam %d jogadas", jogadas-j);
                        lin=lin-1;
                        if (coluna<0 || coluna>9 || lin<0 || lin>9)
                                {
                                gotoxy(40,15);
                                printf("\a As colunas sao de A a J(maiusculas)");
                                gotoxy(40,16);
                                printf("\a e as linhas sao de 1 a 10.");
                                getch();
                                }
                        else
                                {
                                if (meutabuleiro[lin][coluna]=='.')
                                        {
                                        d++;
                                        }
                                else
                                        {
                                        gotoxy(40,15);
                                        printf("\a Ja foi dado um tiro nesta coordenada");
                                        getch();
                                        }
                                }
                        }
                switch (tabuleiro[lin][coluna])
                        {
                        case '1':
                                meutabuleiro[lin][coluna]='1';
                                gotoxy(40,15);
                                printf("* Acertou num barco de 1 cano. *");
                                pont++;
                                gotoxy(40,18);
                                printf("Tem %d Ponto(s)", pont);
                                getch();
                                break;
                        case '2':
                                meutabuleiro[lin][coluna]='2';
                                gotoxy(40,15);
                                printf("* Acertou num barco de 2 canos. *");
                                pont++;
                                gotoxy(40,18);
                                printf("Tem %d Ponto(s)", pont);
                                getch();
                                break;
                        case '3':
                                meutabuleiro[lin][coluna]='3';
                                gotoxy(40,15);
                                printf("* Acertou num barco de 3 canos. *");
                                pont++;
                                gotoxy(40,18);
                                printf("Tem %d Ponto(s)", pont);
                                getch();
                                break;
                        case '4':
                                meutabuleiro[lin][coluna]='4';
                                gotoxy(40,15);
                                printf("* Acertou no barco de 4 canos. *");
                                pont++;
                                gotoxy(40,18);
                                printf("Tem %d Ponto(s)", pont);
                                getch();
                                break;
                        default:
                                gotoxy(40,15);
                                printf("* Tiro na agua. *");
                                gotoxy(40,18);
                                printf("Tem %d Ponto(s)", pont);
                                meutabuleiro[lin][coluna]='a';
                                getch();
                                break;
                        }
                if(pont==20 && jogadas>=20)
                        {
                        ganhou();
                        }
                j++;
                }
        clrscr();
        printf("\n                               FIM DO JOGO");
        preenchefim(tabuleirofinal,meutabuleiro,tabuleiro,DIM,DIM);
        mostra_tabuleiro(tabuleirofinal,DIM,DIM);
        gotoxy(45,10);
        printf("TEVE %d PONTO(S) EM %d JOGADAS", pont, j-1);
        gotoxy(40,18);
        printf("a -> Tiro na agua");
        gotoxy(40,20);
        printf("* -> Tiro certeiro");
        gotoxy(40,22);
        printf("X -> Barco");
        gotoxy(1,1);
        }
